Line tracking control method

ABSTRACT

A line tracking control method of controlling a robot (51) to cooperate with a conveyor (50) in its movement determines a speed of movement of the conveyor (50) as a constant, determines a corrective variable (d) based on the determined conveyor speed, finds a boundary value (B) for the speed of the conveyor (50), compares the boundary value with an actual speed of the conveyor (50), and adding or subtracting the corrective variable (D) based on the result of comparison, thus determining a command value for the robot.

BACKGROUND OF THE INVENTION

The present invention relates to a line tracking control method forenabling a robot to cooperate with a workpiece moving on a conveyingdevice such as a conveyor.

Manual operations on production lines are being replaced with industrialrobots in recent years. The manual operation can perform a cooperativejob matching a particular workpiece on a production line based on thesophisticated abilities of a human being to collect and processinformation. However, various technical measures should be taken incontrolling a robot which is employed as a substitute for a human being.For example, it has been difficult to control the hand of a robot so asto attend appropriately a workpiece moving on a conveying device such asa conveyor. Generally, where an industrial robot is used on a productionline, the robot starts moving in a tracking direction at the time atracking start signal is applied to the robot, and the robot moves atthe same speed as that of the conveying device while working on theworkpiece on the conveying device.

The robot starts moving in the tracking direction when supplied with thetracking start signal as shown in FIG. 4 of the accompanying drawings.At this time, the conveying device has already reached a certain speedVc in the tracking direction as illustrated in FIG. 3. Since the robotstarts from the zero speed, it is delayed with respect to the speed ofthe conveyor by a time constant τ indicated as a gradient.Theoretically, the delay is not eliminated unless the time constant iszero. For those robots which have large inertia, the delay cannot beneglected since the time constant is large. This situation is explainedin FIG. 5 in which designated at TP is a conveying device such as aconveyor, RB an industrial robot, WP a workpiece, lc a commandeddistance, and Tl a delay that the robot suffers in following theworkpiece. As is apparent from FIG. 5, when the robot RB is suppliedwith a tracking start signal as the workpiece WP passes thereby, therobot RB starts moving in the tracking direction in order to grip theworpiece WP. However, since there is a delay Tl between the robot RB andthe workpiece WP, the robot RB is unable to grip the workpiece WP.

To compensate for the delay, there has been proposed a system forapplying, to a robot, a control signal which includes a variable addedto the rate of movement of the conveyor, the variable being commensuratewith the robot delay.

FIGS. 6 and 7 are diagrams illustrative of such a system. Denoted at tis a time, Vr is a robot speed, CV a corrective variable forcompensating for the robot delay with respect to the workpiece, thecorrective variable being indicated as a shaded area.

Since the robot delay=(conveyor speed)×(time constant)/2, the speed ofthe conveyor is monitored from time to time, and the corrective variableis varied from time to time to meet the conveyor speed. Morespecifically, the corrective variable is expressed by

    d=(l/t)×τ×(1/2)                            (1)

where t is the sampling period, l the distance of movement in thesampling period, and τ the time constant of the robot. If the correctivevariable in the ith sampling period is smaller than that in thepreceding (i-1)th sampling period, then the difference therebetween isadded in i (ith sampling period). If the corrective variable in the ithsampling period is larger than that in the preceding sampling period,then the difference is subtracted. Thus, the ith commanded distance lfor the robot is:

    l=li+di-di-1                                               (2)

With the aforesaid system, the robot that starts moving from the stoppedcondition with respect to the conveying device that has already beenmoved can be controlled without a delay with respect to the conveyingdevice.

Since, however, the above control system effects a delay compensationfor every variation in the speed of the conveying device or conveyor, ithas the following problem:

It is assumed that the conveyor speed varies slightly, and the distanceof movement in the sampling period t (which is regarded as beingconstant for the sake of brevity) changes from l to l+δ. By putting thevalue l+δ in the equation (2), we get ##EQU1## This means that when aninput from the conveyor is varied by δ, then the command to the robot isvaried by: ##EQU2##

Generally, τ>t, and for a system in which the sampling period is short,i.e., which has good sensitivity, τ/2t is increased. The conventionalcontrol system tends to amplify small variations in the speed of theconveyor. This is problematic since the robot is adversely affected suchas by vibration.

SUMMARY OF THE INVENTION

The present invention has been made in an effort to solve the problemwith the conventional line tracking control method based on a findingthat the speed of movement of a conveying device such as a conveyor on aconveyor line in an actual factory is substantially constant though thespeed may be slightly variable. It is an object of the present inventionto provide a line tracking control method capable of preventing a robotfrom being adversely affected such as by vibration due to correctivecontrol by setting a corrective variable for the delay of the robot withrespect to a conveying device to a constant value, so that smoothcooperative operation can be achieved by the conveying device and therobot.

According to the present invention, there is provided a line trackingcontrol method of controlling a robot with a control device so as tomeet the speed of movement of a conveying device, the control devicebeing operable in:

(1) the first step of determining the speed of movement of the conveyingdevice as a constant and storing the same;

(2) the second step of determining a corrective variable and setting aboundary value for the speed of movement of the conveying device basedon the speed of movement of the conveying device which is determined inthe first step; and

(3) the third step of comparing the boundary value determined in thesecond step with an actual speed of movement of the conveying device andadding or subtracting the corrective variable based on the result ofcomparison, thus determining a command value for the robot.

The present invention enables the robot to cooperate smoothly with theconveying device without suffering from vibration or the like whichwould be produced by the corrective operation.

Other objects and features of the present invention will be apparentfrom the following description of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a robot control system for carrying out aline tracking control method according to the present invention;

FIG. 2 is a flowchart of line tracking control according to the presentinvention;

FIG. 3 is a diagram explanatory of the relationship between the speed ofa conveying device and time;

FIG. 4 is a diagram explanatory of the relationship between the commandspeed for a conventional robot and time;

FIG. 5 is a diagram explanatory of the conventional relationship betweenthe movement of a conveying device and a robot;

FIG. 6 is a diagram explanatory of the relationship between the commandspeed for a robot and time; and

FIG. 7 is a diagram explanatory of the relationship between the movementof a conveying device and a robot.

DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention will hereinafter be described in specific detailwith reference to an embodiment shown in FIGS. 1 and 2.

FIG. 1 is a block diagram of a robot control system for carrying out aline tracking control method according to the present invention. Therobot control system has a numerical control device incorporating amicrocomputer (CNC) 100 for controlling a conveying device 50 such as aconveyor and a robot 51 for working on a workpiece placed on theconveyor 50. The numerical control device 100 includes a processor (CPU)30, a program memory (ROM) 31 comprising a read-only memory, a datamemory (RAM) 32 comprising a random-access memory, a teach control unit33, a control console 34, a CRT display 35, a tape reader 36, acorrection pulse port 37, an axis controller 38, an interface circuit39, an input/output circuit 40, and an address data bus 41interconnecting these components. The CPU 30 effects arithmeticoperations according to a control program for controlling the conveyor50 and the robot. The ROM 31 stores various control programs to beexecuted by the CPU 30. The RAM 32 stores data applied by the teachcontrol unit 33, the control console 34, the tape reader 36, theinterface circuit 39, and the input/output circuit 40, and arithmeticresults and data from the CPU 30. The axis controller 38 is responsiveto output signals from the CPU 30 for applying control signals to aservo circuit 52 which controls drive sources for a plurality of axes,the axis controller 38 includes an interpolator. The correction pulseport 37 applies corrective pulses to the servo circuit based on thecorrective operation of the CPU 30. The interface circuit 39 delivers asignal to and receives a signal from the conveyor 50. The input/outputcircuit 40 delivers a signal to and receives a signal from a relay unit54 for controlling the supply of electric power from a power supply 53to the conveyor 50.

FIG. 2 is a flowchart explaining the operation sequence of the linetracking control method of the invention. The present invention willhereinafter be described in detail with reference to FIG. 2.

(1) The numerical control device 100 applies a normal speed of theconveyor 50 (step P1). Since the normal speed of the conveyor 50 isusually determined when the system is set, the speed is applied throughthe control console 34 and stored in the RAM 32 by the CPU 30. Thenormal speed of the conveyor 50 may be determined as (V) by detectingthe distance (l) of movement of the conveyor 50, inputting the distancethrough the interface circuit 39, and dividing the distance (l) by time(t) in the CPU.

(2) Then, the CPU 30 determines a corrective variable (d) based on thenormal speed (V) according to the equation (1), i.e., d=(l/t)×τ×(1/2),sets the corrective variable (d) as a constant, and stores it in aparameter area in the RAM 32 (step P2).

The time constant τ of the robot 51 is stored in advance in the RAM 32.The CPU effects the computation of the corrective variable (d) byreading out the data of the time constant.

(3) Then, the CPU 30 sets a boundary value (B) as (1/2)V, for example,and stores it in the parameter area in the RAM 32 in order to ascertainwhether the conveyor 50 is at rest or is moving at a constant speed(step P3).

(4) The CPU 30 compares the actual speed of the conveyor 50 which isinput through the interface circuit 39 and the boundary value (B) (stepP4).

(5) If the actual speed of the conveyor 50 is higher than the boundaryvalue (B) in the step P4, then the CPU 30 applies an output (l+d) inwhich the corrective variable (d) is added as a command to the robot(step P6) if [1] correction has not been effected (step P5), and sets acorrected-status flag to 1 (step P7). If [2] correction has beeneffected (step 5), the CPU 30 applies an output (l) in which thecorrective variable (d) is not added as a command to the robot (stepP8). The output (l) is applied via the axis controller 38 to the servocircuit 52, and the corrective variable (d) is applied through thecorrection pulse port 37 to the servo circuit 52.

(6) If the actual speed of the conveyor 50 is equal to or smaller thanthe boundary value (B) in the step P4, i.e., if the conveyor 50 is aboutto stop, then the CPU 30 subtracts the corrective variable (d) from thedistance and applies an output (l-d) to the robot (step P10) if [1] thecorrection of the step (5) is effected (step P9), and thecorrected-status flag is set to 0 (step P11). If the correction of thestep (5) is not effected, the output (l) is applied to as a command tothe robot (step P8) (step P12).

The control method of the invention is based on a finding that the speedof movement of the conveyor 50 is substantially constant though it isslightly variable. Therefore, the speed of the conveyor is regarded as aconstant, and the corrective variable (d) is determined on the basis ofthe constant conveyor speed. As a result, the robot is prevented frombeing adversely affected as by vibration which would be caused bytracking correction based on the detection of each slight variation inthe speed of the conveyor. The control method of the invention is simperthan the prior art and highly advantageous in the practice.

Although a certain preferred embodiment has been shown and described, itshould be understood that many changes and modifications may be madetherein without departing from the scope of the appended claim.

The present invention is suitable for use in the control of a robot tobe arranged on a conveyor line or the like since it can control therobot smoothly in coordinated relationship to the movement of aconveying device.

What we claim is:
 1. A line tracking control method of controlling arobot with a control device to match a speed of movement of a conveyingdevice, the line tracking control method comprising:(a) determining asingle time the speed of movement of the conveying device as a constantand storing the constant; (b) determining a single time a correctivevalue and setting a boundary value for the speed of movement of theconveying device based on the speed of movement of the conveying devicedetermined in step (a); and (c) comparing the boundary value determinedin step (b) with an actual speed of movement of the conveying device andadding or subtracting said corrective value based on the result ofcomparison, thus determining a command value for the robot. PG,13
 2. Amethod as recited in claim 1, wherein the third step (c) comprises thesteps of:(i) comparing the boundary value to the actual speed; (ii)adding the corrective value a single time to a normal speed of movementif the actual speed is greater than the boundary value and if the normalspeed has not been corrected; and (iii) subtracting the corrective valuefrom the normal speed if the actual speed is less than or equal to theboundary value and if the normal speed has been corrected.
 3. A linetracking control method for a robot comprising the steps of:(a)detecting a conveyor speed and storing the conveyor speed as a speedconstant; (b) determining a speed correction from the speed constant andstoring the speed correction as a speed correction constant; (c)determining a boundary value from the speed constant; (d) comparing theboundary value to a conveyor actual speed; (e) producing a firstcorrected speed by adding the speed correction constant to a normalspeed of the robot a single time when the first corrected speed has notbeen produced and the actual speed is greater than the boundary value;and (f) maintaining the normal speed when the corrected speed has beenproduced and the actual speed is greater than the boundary value.
 4. Amethod as recited in claim 3, further comprising the step of:(g)producing a second corrected speed by subtracting the speed correctionconstant from the normal speed a single time when the first correctedspeed has been produced and when the actual speed is less than or equalto the boundary value.